This repository was archived by the owner on Aug 11, 2021. It is now read-only.
opts.env option to set script specific enviromnent variables#40
Open
olivr70 wants to merge 2 commits intonpm:latestfrom
Open
opts.env option to set script specific enviromnent variables#40olivr70 wants to merge 2 commits intonpm:latestfrom
olivr70 wants to merge 2 commits intonpm:latestfrom
Conversation
added 2 commits
August 15, 2019 07:40
ljharb
suggested changes
Aug 15, 2019
| // assign script specific environnement variables (ignores non string values) | ||
| if (typeof opts.env === 'object') { | ||
| for (var k in opts.env) { | ||
| if (opts.env.hasOwnProperty(k)) { |
There was a problem hiding this comment.
.hasOwnProperty should never be called directly off of objects; what about an env var named hasOwnProperty (which is entirely valid)? Always do this:
Suggested change
| if (opts.env.hasOwnProperty(k)) { | |
| if (Object.prototype.hasOwnProperty.call(opts.env, k)) { |
| for (var k in opts.env) { | ||
| if (opts.env.hasOwnProperty(k)) { | ||
| var v = opts.env[k] | ||
| if (typeof v === 'string' || typeof v === 'number') { |
There was a problem hiding this comment.
any reason to ignore non-string/number values, instead of throwing?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added support for an env in the opts of makeEnv() (and therefore lifecycle()).
The original need is to set an environment variable with the path of the generated archive before invoking postpack script in npm/cli.
makeEnv() has a env parameter, but :
The proposed implementation ignores all opts.env properties which are not of type "number" or "string".
Tests have been updated accordingly